import numpy as np
import matplotlib.pyplot as plt

'''
运动轨迹是: 原点为圆心的圆周运动
'''

#设置坐标轴
ax=plt.gca()      
ax.spines["right"].set_color("none")   #设置坐标轴的颜色
ax.spines["top"].set_color("none")
ax.spines["left"].set_position(("data",0))  #设置坐标轴的位置
ax.spines["bottom"].set_position(("data",0))
ax.xaxis.set_ticks_position("bottom")   #x轴的数据显示在x轴右侧
ax.yaxis.set_ticks_position("left")    #y轴的数据显示在y轴左侧
plt.axis([-10,10,-10,10])   #指定绘图范围(x负, x正，y负，y正)
plt.grid()     #显示网格线


Vx=0.5          #x轴上滑动速度
time_step = 0   #执行次数

A=[6,0] #A(-6,0) x轴-6,y轴0
B=[0,-3] #B(0,-3) y轴-3,x轴0
X= [A[0],B[0]]   #x坐标点集
Y= [A[1],B[1]]   #y坐标点集
a=abs(X[0]) #获取绝对值 A点x轴上的初始长度
b=abs(Y[1]) #获取绝对值 B点y轴上的初始长度

# 等分线段 两点坐标等分（这里是2等分）
# A(Ax,Ay) B(Bx,By) #两点坐标
X_divide_1 = A[0] + (B[0]-A[0]) / 2 # x坐标
Y_divide_1 = A[1] + (B[1]-A[1]) / 2 # y坐标
plt.plot(X_divide_1, Y_divide_1, 'om')  # 绘制紫红色的圆形的点

Ax=a #初始位置距离
while (Ax > 0):
    # 直线在X，Y轴上滑动后坐标值
    Ax= a - (Vx*time_step) # A点在X轴上的值
    By=((a**2 + b**2)-Ax**2)**(1/2) #B点在Y轴上的值
    print('{}*****{}'.format(Ax, By))
    plt.plot([Ax,X[1]],[Y[0],-By]) #画线

    time_step = time_step + 1

    #等分线段 两点坐标等分（这里是2等分）
    X_divide_1 = (Ax + (0-Ax) / 2) #x坐标
    Y_divide_1 = -(0 + (By-0) / 2) #y坐标
    print(X_divide_1)
    print(Y_divide_1)
    plt.plot(X_divide_1, Y_divide_1, 'om')  # 绘制紫红色的圆形的点

    plt.pause(0.1)  #画动态图

    




plt.show()